Array 객체 메서드

✒️ 2025-05-23 17:04 내용 수정


메서드 설명
concat(array) 기존 배열에 요소를 추가해 새 배열 생성
every(function) 배열의 모든 요소가 주어진 함수에 대해 참인지 거짓인지 판별
filter(function) 배열 요소 중에 주어진 필터링 함수에 대해 참인 요소만 골라 새 배열 생성
forEach(function) 배열의 모든 요소에 대해 주어진 함수를 실행
map(function) 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새 배열로 반환
indexOf(value) 주어진 값과 일치하는 값이 있는 배열 요소의 인덱스 반환
join(str) 배열 요소를 문자열로 합치며, 구분자 추가 가능
push(value) 배열의 마지막에 새 요소를 추가하고 새 배열을 반환
unshift(value) 배열의 시작에 새 요소 추가
pop() 배열의 마지막 요소를 꺼내고 새 배열을 반환
shift() 배열의 첫 요소를 꺼내고 그 값을 반환
splice(value) 배열의 요소를 추가하거나 삭제하며, 기존 배열도 변경됨
slice(idx1, idx2) 배열의 특정 부분을 잘라내며, 기존 배열은 유지됨
reverse() 배열의 배치 순서를 역순으로 변경
sort() 배열 요소를 지정한 조건에 따라 정렬
toString() 배열에서 지정한 부분을 문자열로 반환하며, 구분자는 쉼표",
find() 배열에서 조건을 만족하는 첫 번째 요소를 반환

concat

let arr = [0, 1, 2];
let arr2 = [4, 5, 6];

let arr3 = arr.concat(arr2);

join

let arr = [0, 1, 2];
let arr_str = arr.join();
let arr_str2 = arr.join('|'); // 구분자 추가

push

let arr = [0, 1, 2];
arr.push(3, 4, 5); // 배열의 마지막에 3, 4, 5를 추가

unshift

let arr = [0, 1, 2];
arr.unshift(3); // 배열의 앞에 3, 4, 5를 추가

pop

let arr = [0, 1, 2];
arr.pop(); // 2를 꺼내 반환하고, arr = [0, 1]

shift

let arr = [0, 1, 2];
arr.shift(); // 0을 반환하고, arr = [1, 2]

splice

let arr = [0, 1, 2, 3, 4, 5];
arr.splice(2); // 2번 인덱스인 2부터 5까지를 제거, 반환은 [2, 3, 4, 5]

arr.splice(3, 2); // 3번 인덱스인 3부터 2개의 요소 제거, 반환은 [3, 4]

arr.splice(1, 2, 8); // 1번 인덱스인 1부터 2개 요소인 1과 2를 제거하고, 8을 추가
// splice 반환은 [1, 2]이며, arr은 [0, 8, 3, 4, 5]

slice

let arr = [1, 2, 3, 4, 5];
arr.slice(3); // 3번 인덱스부터 마지막까지 꺼냄, 반환은 [3, 4, 5]
arr.slice(2, 4); // 2번 인덱스 2부터 4번 인덱스 직전인 3번 인덱스 3까지 꺼냄, 반환은 [2, 3]

forEach

forEach(callbackFn)
forEach(callbackFn)

let callbackFn = (element, index, array) => { 
	// 각 배열 요소에 실행할 내용
	// element : 요소
	// index : 인덱스
	// array : 대상 배열
}
let arr = [1, 2, 3, 4, 5];
arr.forEach((el, i) => {
	console.log(`${i}번째 요소 : ${el}`)
})

// 0번째 요소 : 1
// 1번째 요소 : 2
// 2번째 요소 : 3
// 3번째 요소 : 4
// 4번째 요소 : 5

map

arr.map(callback(currentValue[, index[, array]])[, thisArg]);
// currentValue : 처리할 현재 요소
// index : 처리할 현재 요소의 인덱스
// array : 대상 배열
// thisArg : callback을 실행할 때 this로 사용되는 값

sort

arr.sort((a, b) => { // 오름차순
	if (a < b) return -1;
	if (a > b) return 1;
	return 0;
})

// 위의 형태를 더 간단하게 작성하면 아래와 같다
arr.sort((a, b) => {
	return a - b;
})

arr.sort((a, b) => { // 내림차순
	if (a < b) return 1;
	if (a > b) return -1;
	return 0;
})

// 위의 형태를 더 간단하게 작성하면 아래와 같다
arr.sort((a, b) => {
	return b - a;
})
arr.sort((a, b) => {
	return a.localeCompare(b);
})

filter

arr.filter((el) => {return (el > 10)})

let dateCut = new Date(2020, n-1, 2).toISOString().substring(0, 10);
arr2.filter((el) => {return (el.date < dateCut)})

find

arr.find((el, i, arr) => ({
	// el : element
	// i : index
	// arr : array
	return (el.id == 2);
});